home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / utilitys / 301 / metaview / metaview.doc < prev    next >
Encoding:
Text File  |  1989-01-29  |  21.8 KB  |  459 lines

  1.           METAVIEW.ACC, METAVIEW.PRG, and the associated documentation are 
  2.      (C)opyright 1988, 1989 by Ric Clayton.  MetaView is an un-registered 
  3.      trademark of SoftWave Studios.
  4.  
  5.           All versions of MetaView (hereinafter referred to as "the 
  6.      software") are copyrighted by the author.  The author reserves all 
  7.      rights with respect to the copyright, including, but not limited to, 
  8.      ownership, sale, and distribution of any and all versions of the 
  9.      software.  No version of the software may be sold or included in a 
  10.      commercial package without written permission from the author.
  11.  
  12.           The current version of the software is being distributed as 
  13.      "Shareware".  It is not free.  You may upload it to information 
  14.      services and networks (like GEnie, CompuServe, USEnet, etc.) or give it 
  15.      to friends for evaluation.
  16.  
  17.           You may use the software for a limited time to evaluate it.  If 
  18.      you like it and wish to continue using it, you should become a 
  19.      registered user.  You become a registered user by sending $25.00 (US) 
  20.      to the author.  (Be sure to include a note that you are registering as 
  21.      a user of the software.)  Registered users will receive notices when 
  22.      new versions are available.  Registered users may also obtain the 
  23.      latest version of the software, when available, by sending a 3.5" 
  24.      Floppy Disk and $5.00 (US) to the author.  (The more registrations I 
  25.      receive, the more motivated I will be to enhance and maintain this 
  26.      software and produce more Shareware.)
  27.  
  28.           MetaView was designed and programmed by Ric Clayton using the 
  29.      Megamax Laser-C development system.
  30.  
  31.           Inquiries, comments, suggestions, registrations, donations, etc. 
  32.      are welcome and should be addressed to:
  33.  
  34.                Ric Clayton
  35.                1000 Escalon Ave.  #1126
  36.                Sunnyvale, CA.  94086  USA
  37.  
  38.                GEnie:    RIC
  39.                Portal:   Ric Clayton
  40.                USEnet:   ric.i.clayton@portal.com
  41.                CompuServe:[73317,1350]
  42.  
  43.  
  44.      1.0  What it is
  45.  
  46.           MetaView is a program which allows you to view GEM Metafiles in 
  47.      standard GEM windows.  (Metafiles are files with a .GEM extension, such 
  48.      as those produced by EasyDraw and GEM-Draw.)  Two versions are included 
  49.      on the distribution disk; a GEM Desk Accessory (METAVIEW.ACC) and a GEM 
  50.      Application (METAVIEW.PRG).  Both function identically.  The Accessory 
  51.      version will function from within other GEM applications that allow you 
  52.      to access Desk Accessories.
  53.  
  54.           MetaView will display any GEM Metafile, in any resolution, with or 
  55.      without GDOS installed, and (hopefully) run on any version of TOS.
  56.  
  57.           MetaView contains a robust window manager.  You'll find you can do 
  58.      things to MetaView's windows that most other applications don't 
  59.      support.
  60.  
  61.           I've tried to make MetaView's functions easy to operate and 
  62.      remember.  If things are confusing at first, don't be afraid to 
  63.      experiment.  With a little practice, working with MetaView will become 
  64.      natural and obvious.
  65.  
  66.  
  67.      2.0  The Menu Selections
  68.  
  69.           The menus for both the program and accessory versions are 
  70.      virtually identical.  The exception is that the accessory version has 
  71.      no "Quit" selection, since GEM Desk Accessories cannot terminate.  In 
  72.      addition, the accessory version displays all it's selections in a 
  73.      single menu which pops out of the "MetaView..." Desk Accessory menu 
  74.      selection.
  75.  
  76.  
  77.      2.1  "About Metaview..."
  78.  
  79.           This displays a box containing version and copyright information.  
  80.      The number of windows MetaView currently has open is displayed at the 
  81.      bottom of the box.  Click anywhere on the screen to remove the "About" 
  82.      box.
  83.  
  84.  
  85.      2.2  File - "View Metafile..."
  86.  
  87.           Opens a window and reads a metafile for viewing.  The metafile is 
  88.      selected with the standard GEM file selector.  (The same thing can be 
  89.      accomplished with the Window "Open" function, but this is much 
  90.      quicker.)
  91.  
  92.  
  93.      2.3  File - "Quit"
  94.  
  95.           Available in the program version only, terminates MetaView 
  96.      returning you to the application that invoked it (usually the GEM 
  97.      Desktop).
  98.  
  99.  
  100.      2.4  Window - "Open"
  101.  
  102.           This allows you to selectively open a MetaView window.  When you 
  103.      left-click on "Open", a window sub-menu will pop out with a title of 
  104.      "Open Window".  From this menu you may select a specific MetaView 
  105.      window.  If the window selection contains a file name, indicating the 
  106.      window had been previously opened, left-clicking the selection will re-
  107.      open the window to its previous position and size to view the indicated 
  108.      metafile.  If the window selection is empty, left-clicking the 
  109.      selection will bring up the file selector so you may select the 
  110.      metafile to view.
  111.  
  112.           Holding down the Right mouse button whilst left-clicking a 
  113.      previously opened window selection will also bring up the file 
  114.      selector.  This allows you to change the metafile to be viewed without 
  115.      altering the window's prior position and size.
  116.  
  117.           The "All Windows" selection at the bottom of the sub-menu allows 
  118.      you to reopen all previously opened windows in a single operation.  
  119.      This is especially handy when you had windows open on the Desktop and 
  120.      want to view the same windows after entering an application.
  121.  
  122.           You can quickly re-open the last window you closed by holding down 
  123.      the Right mouse button whilst selecting the Window "Open" function.  
  124.      This bypasses the sub-menu and reopens the last window you closed.  If 
  125.      there are no previously opened windows available but more windows can 
  126.      be opened, MetaView will ask you to specify a metafile by bringing up 
  127.      the file selector and open a new window.  (This the same as selecting 
  128.      "Open Metafile..." from the File Menu.)
  129.  
  130.  
  131.      2.5  Window - "Close"
  132.  
  133.           This allows you to selectively close a MetaView window.  When you 
  134.      left-click on "Close", a window sub-menu will pop out with a title of 
  135.      "Close Window".  From this menu you may select a specific MetaView 
  136.      window to close.
  137.  
  138.           The "All Windows" selection at the bottom of the sub-menu allows 
  139.      you to close all open windows in a single operation.
  140.  
  141.           You can quickly close the top window by holding down the Right 
  142.      mouse button whilst selecting the Window "Close" function.  This has 
  143.      the same effect as clicking on the "close box" in the upper right 
  144.      corner of the top window.
  145.  
  146.  
  147.      2.6  Window - "Top"
  148.  
  149.           This allows you to selectively make a MetaView window the "Top" 
  150.      window.  When you left-click on "Top", a window sub-menu will pop out 
  151.      with a title of "Top Window".  From this menu you may request a 
  152.      specific MetaView window be placed on top of all other windows on the 
  153.      desktop.
  154.  
  155.           Note that MetaView's "top" window is not necessarily the "top" 
  156.      window on the desktop.  You can place MetaView's top window on top of 
  157.      all other windows by holding down the Right mouse button and left-
  158.      clicking the Window "Top" function.  This has the same effect as 
  159.      clicking on the window's title line.
  160.  
  161.           This function is most useful when you want "Top" a window which is 
  162.      totally covered by other windows.
  163.  
  164.  
  165.      2.7  Window - "Frame"
  166.  
  167.           This function allows you to move and size a MetaView window in a 
  168.      single operation.
  169.  
  170.           When you select the "Frame" operation the mouse cursor turns into 
  171.      a shape resembling the upper left-hand corner of a square.  Move the 
  172.      mouse so that the cursor is where you want the upper-left corner of the 
  173.      window to be.  When you have the upper left corner position 
  174.      established, hold down the Left mouse button.  The mouse cursor will 
  175.      change to look like the lower right-hand corner of a square.  While 
  176.      continuing to hold down the Left mouse button, drag the mouse towards 
  177.      the lower-right of the desktop.  You'll see an expanding rubber box 
  178.      showing the size the window will be at its new position.  When you're 
  179.      satisfied with the size of the box, release the Left mouse button and 
  180.      the selected window will move and resize itself.
  181.  
  182.           As with other Window operations, Left-clicking the "Frame" 
  183.      selection brings up a window sub-menu and holding the Right mouse 
  184.      button down while left-clicking "Frame"s MetaView's top window.
  185.  
  186.           The "All Windows" selection in the sub-menu will enable you to 
  187.      frame each open window one at a time.  The window waiting to be framed 
  188.      will change it's title to the window number surrounded by two outward 
  189.      point arrows, like "<< 1 >>".  Framing operation begins with the top 
  190.      window and continues with each window in order.
  191.  
  192.           If you initiate a Frame operation and then decide you don't want 
  193.      to do it, you may cancel the Frame.  While MetaView is waiting for you 
  194.      to specify the upper right-hand corner of the window, left-click once 
  195.      instead of dragging out the rubber box and the Frame will be cancelled.
  196.  
  197.  
  198.      2.8  Window - "Full"
  199.  
  200.           This is equivalent to clicking on a window's "full" box.  (The one 
  201.      in the upper-left corner of most windows.)  If the window is not 
  202.      already full, then it is made full.  If the window is already full, 
  203.      then it is returned to its prior un-full size and position.
  204.  
  205.           Left-clicking the Window "Full" selection will bring up the 
  206.      standard MetaView window sub-menu.  Holding down the Right mouse button 
  207.      and left-clicking "Full" will full MetaView's top window.
  208.  
  209.           Selecting "All Windows" from the sub-menu will apply a "full" 
  210.      operation to each open window, fulling those that are un-fulled and un-
  211.      fulling those that are fulled.
  212.  
  213.  
  214.      2.9  Window - "Redraw"
  215.  
  216.           This operation requests that MetaView completely redraw one or 
  217.      more of it's open windows.  This is handy when you've been moving 
  218.      several windows around with redrawing inhibited (left-shift and 
  219.      alternate keys held down).
  220.  
  221.           Left-clicking on the "Redraw" selection will bring up the standard 
  222.      Metaview window sub-menu.  Holding the Right mouse button down whilst 
  223.      left-clicking "Redraw" will cause MetaView's top window to be redrawn.
  224.  
  225.           Selecting "All Windows" from the sub-menu will instruct MetaView 
  226.      to redraw all of it's open windows.
  227.  
  228.  
  229.      2.10  Window - "Reset"
  230.  
  231.           Selecting this function will close any open windows, freeing any 
  232.      memory allocated to them, and reset MetaView's internal window table to 
  233.      it's initial state.  This effectively erases MetaView's window memory.  
  234.      All window sizes and positions are reset, all filenames are cleared and 
  235.      the window order is reset to it's initial sequence of "1,2,3,4,5,6,7".  
  236.      The only thing MetaView retains is the last path used in the file 
  237.      selector.
  238.  
  239.  
  240.      2.11  Font - "Load" and "Unload"
  241.  
  242.           These selections are used to instruct MetaView to load and use any 
  243.      available GDOS fonts or use the built-in system fonts.
  244.  
  245.           If GDOS is not active, or not installed, then both selections will 
  246.      be disabled and only the system fonts will be used.
  247.  
  248.           If GDOS is installed and active, the "Load" selection is enabled 
  249.      and the "Unload" selection is disabled.  This indicates that the system 
  250.      fonts will be used to draw text, which is what MetaView defaults to.
  251.  
  252.           Selecting "Load" will instruct MetaView to use GDOS fonts in 
  253.      subsequent drawing operations involving text.  If the fonts have not 
  254.      already been loaded by another application, selecting "Load" will also 
  255.      cause GDOS to load all assigned screen fonts into memory.  Notice that 
  256.      the "Load" selection is now disabled and the "Unload" selection is 
  257.      enabled.  This indicates that GDOS fonts are loaded and will be used by 
  258.      MetaView.
  259.  
  260.           Selecting "Unload" instructs MetaView to stop using GDOS fonts and 
  261.      return to using the system fonts only.  If MetaView is the only 
  262.      application using GDOS fonts when "Unload" is selected, then GDOS will 
  263.      also remove the fonts from memory.  The Font selections will now be 
  264.      back to their initial state, "Load" is enabled and "Unload" is 
  265.      disabled.
  266.  
  267.  
  268.      3.0  Behind the Scenes
  269.  
  270.      3.1  Window Memory
  271.  
  272.           MetaView remembers the last position and size of an open window, 
  273.      as well as the metafile that was being viewed in the window.  It also 
  274.      remembers the order in which the windows were last placed on the 
  275.      desktop.  This order is reflected in the ordering of selections in 
  276.      MetaView's window sub-menus.
  277.  
  278.  
  279.      3.2  File buffering
  280.  
  281.           When a Metafile is opened, a buffer for the file is allocated in 
  282.      the computer's memory and the entire file is read into memory.  All 
  283.      drawing will thereafter be done from this buffer.
  284.  
  285.           If then there is not enough memory to allocate a buffer for a 
  286.      metafile, an alert will be displayed.  You'll have to close one or more 
  287.      windows or exit the application to make room for the file buffer.  
  288.      (Future versions will provide an option to draw directly from disk when 
  289.      there is no memory available for a buffer.)
  290.  
  291.  
  292.      3.3  Window Sub-Menus
  293.  
  294.           Window sub-menus give you access to MetaView's internal window 
  295.      table.  Using the sub-menus you can apply any Window menu operation to 
  296.      any MetaView window.  There is no requirement to bring a MetaView 
  297.      window to the top of the desktop in order to manipulate it.
  298.  
  299.           If you Left-click one of the Window menu operations, a sub-menu of 
  300.      window selections will be displayed.  Left-clicking on a specific 
  301.      window selection will apply the operation (Open, Close, etc.) to the 
  302.      selected window.  With the exception of "Open", all window sub-menus 
  303.      allow you to apply the Window operation to any open window.  ("Open" 
  304.      only works on un-open windows.)
  305.  
  306.           With the exception of "Top", any operation may be applied to all 
  307.      windows.  (Since only one window can be the "top" window in GEM, 
  308.      topping all windows makes no sense.)
  309.  
  310.           Left-clicking on the Window selections (Close, Top, etc.) whilst 
  311.      holding down the Right mouse button, with the exception of "Open", 
  312.      applies the operation to MetaView's Top window.  (Note: this may not be 
  313.      the visibly Top window if another application is displaying a window on 
  314.      top of MetaView's windows.)  The Window Open function, in this case, 
  315.      re-opens the last window that was open, or the next available window if 
  316.      there was no previously opened window.
  317.  
  318.  
  319.      3.4  Window Ordering
  320.  
  321.           MetaView remembers the order in which windows appear on the 
  322.      desktop.  This is reflected by the ordering of selections in the window 
  323.      sub-menus.  MetaView's top-most window will be the first selection in 
  324.      the sub-menu, followed by the window under the top window, and so on.  
  325.      A check mark appears next to the first selection in the window sub-
  326.      menus to remind you that this is MetaView's top window.
  327.  
  328.  
  329.      3.5  Window Titling
  330.  
  331.           Window titles consists of the window's internal number and the 
  332.      name of the metafile being displayed.  During some operations, a 
  333.      windows title will change to indicate the operation being performed.
  334.  
  335.           When a metafile is being loaded from disk, the window title will 
  336.      change to the window's number surrounded by two inward pointing arrows.  
  337.      For example; when a file is being loaded for display in window #1, the 
  338.      window's title will look like:
  339.  
  340.                >> 1 <<
  341.  
  342.           When a window is being "Framed", it's title will change to the 
  343.      window's number surrounded by two outward pointing arrows.  For 
  344.      example; whilst Framing window #2, the window's title will look like:
  345.  
  346.                << 2 >>
  347.  
  348.           While a window is being drawn, its title will change to the 
  349.      window's number surrounded by two little clock faces.
  350.  
  351.  
  352.      3.6  Window Redrawing
  353.  
  354.           MetaView does not actually do any drawing.  It just translates 
  355.      metafile information into a form acceptable to GEM's Virtual Device 
  356.      Interface (VDI).  Its the GEM VDI that does the actual drawing of 
  357.      metafile objects.
  358.  
  359.           MetaView also does not analyze any of the metafile information.  
  360.      Because of this, window redrawing may take quit a while to complete.  
  361.      This is mostly evident when several complex metafiles are being viewed 
  362.      with un-even overlapping windows.  Due to this, MetaView provides a way 
  363.      for you to keep it from redrawing windows.
  364.  
  365.           Window redrawing may be stopped by holding down the left-shift and 
  366.      alternate keys at the same time.  Holding the keys down momentarily 
  367.      will stop redrawing the current window being drawn.  Holding the keys 
  368.      down for a longer period of time will stop the redrawing of several or 
  369.      all windows, depending on how long the keys are held.  Continuously 
  370.      holding the keys down will inhibit MetaView from redrawing any of it's 
  371.      windows.  This can be useful when you want to quickly size and position 
  372.      several windows.
  373.  
  374.  
  375.      3.7  Fonts & GDOS
  376.  
  377.           MetaView will work with or without GDOS (or equivalent software) 
  378.      installed.  Without GDOS, any text contained in the metafile will be 
  379.      drawn using the built-in system fonts.
  380.  
  381.           With GDOS installed, you may instruct MetaView to draw text using 
  382.      the loaded GDOS fonts.  If the font defined in the metafile is not 
  383.      currently loaded, then the system font will be used by default.  Note 
  384.      that since MetaView does not allow metafiles to be changed, saved, or 
  385.      printed, the only thing GDOS does for MetaView is allow it to use the 
  386.      additional fonts.
  387.  
  388.  
  389.      3.8  Fonts & the GEM Virtual Workstations
  390.  
  391.           GEM applications interface to devices, such as the screen or 
  392.      printer, through GEM Virtual Workstations.  Several Virtual 
  393.      Workstations may be opened to a single device.
  394.  
  395.           The use of Fonts is dictated by each Virtual Workstation, 
  396.      independently of all other Virtual Workstations opened to the device.  
  397.      Only the first Virtual Workstation requesting GDOS to "load fonts" will 
  398.      actually cause GDOS to read the fonts from disk into the computer's 
  399.      memory.  Additional requests to "load fonts" from other Virtual 
  400.      Workstations opened to the same device will not cause the fonts to be 
  401.      read from disk again.  Thus, Virtual Workstations all share a single 
  402.      copy of the fonts in memory.  Only the last Virtual Workstation to 
  403.      request GDOS to "unload fonts" will actually cause the fonts to be 
  404.      release from memory.
  405.  
  406.           Since MetaView is a GEM application, it opens it's own Virtual 
  407.      Workstation to the screen.  It thus has independent control over the 
  408.      use of GDOS Fonts.  When MetaView is running as a Desk Accessory, even 
  409.      though another application (like EasyDraw) has loaded fonts,  MetaView 
  410.      will still have to be instructed to use them.
  411.  
  412.  
  413.      4.0  The Bad Stuff
  414.  
  415.      4.1  Limitations
  416.  
  417.           The current version of MetaView does not support GEM Image (.IMG) 
  418.      files.  I don't know what it will do if you try to view a metafile 
  419.      which references a .IMG file.  It may be harmless, it may crash your 
  420.      computer.  (GEM-Paint is one application I know of that generates such 
  421.      metafiles.)
  422.  
  423.           If the a metafile can't fit into available memory, it can't be 
  424.      viewed.  A future version of MetaView will include an option to allow 
  425.      metafiles to be drawn directly from disk rather than from memory.
  426.  
  427.           The MetaView Desk Accessory closely follows the rules for 
  428.      processing accessory close messages from GEM.  It releases all memory 
  429.      it has dynamically allocated and closes its of the Virtual Workstations 
  430.      it has opened.  This enables MetaView to co-operate with the GEM 
  431.      Desktop and other GEM applications very well.  However, current 
  432.      versions of TOS do not send an accessory close message to Desk 
  433.      Accessories when the screen resolution is changed.  This means if you 
  434.      change screen resolutions while there are MetaView windows open the 
  435.      memory allocated to the open windows will be lost and unusable until 
  436.      you re-boot your computer.  Doing this repeatedly will eventually use 
  437.      up all memory resulting in a crashed computer.  Remember, always make 
  438.      sure all MetaView windows are closed before changing screen 
  439.      resolutions.
  440.  
  441.  
  442.      4.2  Known Bugs
  443.  
  444.           These little rascals are always lurking in the wood work.  The 
  445.      only bug I know of in this version is that sometimes the positioning of 
  446.      some text will be all screwy.  I'm not sure what causes this, but it 
  447.      doesn't seem to do any harm other than spattering characters randomly 
  448.      in the window.  This phenomena is exhibited by both the program and 
  449.      accessory versions of MetaView.  As you might suspect, a system re-boot 
  450.      is the only way I know of to cure this problem.
  451.  
  452.           This doesn't mean there aren't any other bugs.  I've made every 
  453.      effort to make MetaView bullet-proof.  However, there is always the 
  454.      possibility I missed something; there may be situations I am unaware of 
  455.      and therefore did not account for.  If you find any bugs, I would 
  456.      surely like to know about them.  Please drop me a line describing the 
  457.      symptoms and, if the problem is reproducible, how you made it happen.
  458.  
  459.